home *** CD-ROM | disk | FTP | other *** search
/ Collection of Internet / Collection of Internet.iso / faq / comp / portable / part1 < prev    next >
Text File  |  1994-04-07  |  34KB  |  702 lines

  1. Newsgroups: comp.windows.misc,comp.answers,news.answers
  2. Path: bloom-beacon.mit.edu!news.media.mit.edu!uhog.mit.edu!europa.eng.gtefsd.com!gatech!swrinde!cs.utexas.edu!newsfeed.rice.edu!nb.rockwell.com!wade
  3. From: wade@nb.rockwell.com (Wade Guthrie)
  4. Subject: (FAQ) Portable GUI Development Kits, part 1/2
  5. Message-ID: <PIGUI_FAQ1_765742186@nb.rockwell.com>
  6. Followup-To: comp.windows.misc
  7. Summary: This posting discusses many of the various platform-independent
  8.     Graphical User Interface (GUI) development software libraries/
  9.     packages.
  10. Supersedes: <PIGUI_FAQ1_762455000@nb.rockwell.com>
  11. Reply-To: wade@nb.rockwell.com
  12. Organization: Rockwell International
  13. Date: Thu, 7 Apr 1994 18:09:50 GMT
  14. Approved: news-answers-request@mit.edu
  15. Expires: Sat, 21 May 1994 18:09:46 GMT
  16. Lines: 683
  17. Xref: bloom-beacon.mit.edu comp.windows.misc:2421 comp.answers:4809 news.answers:17789
  18.  
  19. Archive-name: portable-GUI-software/part1
  20. Last-modified: Tue Apr  5 10:45:27 PDT 1994
  21. Version: 1.8
  22.  
  23.  
  24. -----------------------------------
  25. Copyright 1993, Wade Guthrie.  Permission is granted to copy and
  26. redistribute this document so long as it is unmodified (including
  27. the part that explains where to get the FAQ free-of-charge) and the
  28. copyright remains in-tact.  I'd appreciate it if you told me about
  29. any redistribution, but that's not strictly necessary.
  30. -----------------------------------
  31.  
  32. 0. CONTENTS
  33.  
  34.     -- part 1 --
  35.     I.   WHAT'S NEW IN THIS ISSUE
  36.     II.  INTRODUCTION
  37.     III. ABOUT THE IEEE PIGUI STANDARD
  38.     IV.  USER-INTERFACE APPROACHES
  39.     V.   FEATURES AND SUPPORTED PLATFORMS
  40.  
  41.     -- part 2 --
  42.     VI.  VENDOR REPORTS
  43.     VII. ACKNOWLEDGEMENTS
  44.  
  45.  
  46.  
  47. I. WHAT'S NEW IN THIS ISSUE. . .
  48.  
  49. The FAQ has been reformatted a little with a better description of what
  50. a PIGUI is.
  51.  
  52. Finally, there're the usual product updates as they become available.
  53.  
  54. II. INTRODUCTION
  55.  
  56. This posting is intended to shell-out as much information as I can find
  57. concerning platform-independent Graphical User Interface (PIGUI)
  58. development kits (actually, it's platform-independent APIs targeting
  59. various platform-DEPENDNET GUIs, but let's not get too picky).  This
  60. list is being posted because I've seen a whole mess of requests for GUI
  61. portability information and, besides, I need this information as well.
  62.  
  63. This document is maintained and periodically updated as a service to
  64. the net by Wade Guthrie (wade@nb.rockwell.com).  Any corrections,
  65. updates, or other pertinent information are welcomed at that address.
  66. If you are a vendor of a PIGUI package (whether it's represented here
  67. or not), I encourage you to amend, annotate, and append to this
  68. document (and then, of course, send the revisions back to the author).
  69.  
  70. IIa. Where to get this document.
  71.  
  72. You can get the latest version of this FAQ (and, in fact, all the FAQs
  73. that appear in <whatever>.answers) *FREE-OF-CHARGE* by anonymous FTP
  74. from 'rtfm.mit.edu'.  This FAQ can be found in the following
  75. directory: /pub/usenet/comp.windows.misc.  
  76.  
  77. There are several mail servers that will do the FTP for you if you do
  78. not have access to FTP directly.
  79.  
  80. IIb. What's a PIGUI?
  81.  
  82. A PIGUI toolkit is a software library that a programmer uses to produce
  83. GUI code for multiple computer systems.  The toolkit presents an
  84. interface to the programmer (that's an API, son) in the form of
  85. function calls or objects which is independent of which GUI he's
  86. targeting.  The toolkit does not necessarily provide any additional
  87. portability features.  
  88.  
  89. For example, programmer Petula Sniggly decides she wants to build the
  90. ultimate computer program.  This thing is going to be so cool that
  91. everyone anywhere near a CPU will want to use it, so Petula targets her
  92. program for every type of computer on the planet.  She considers
  93. getting herself a PIGUI toolkit to handle the GUI portion of her code.
  94. With a PIGUI toolkit, when she wants to put a menu on the screen, she
  95. calls the toolkit's "PIGUI_menu" function.  When she compiles her code
  96. with the "Macintosh" flag set, the PIGUI library puts a Mac menu on the
  97. screen in response to the PIGUI_menu call.  When she compiles her code
  98. with the "Motif" flag set, the call causes the library to put-up a
  99. Motif-style menu.  All this happens (theoretically) without Petula
  100. having to change her source code.  If she is careful to make her
  101. non-GUI code portable, she would have a single program (with a single
  102. source) that works on multiple platforms.
  103.  
  104. There is no free lunch, so our heroine Petula has a few things to
  105. consider before deciding whether to use a PIGUI.  First, most (and
  106. maybe 'all' depending on whom you believe) of the PIGUIs will slow the
  107. execution of your code.  You are also limited to the feature set
  108. provided by the PIGUI unless you want to code around the toolkit (but,
  109. then again, why would you buy the PIGUI in the first place if you're
  110. going to code around it?).  Bugs in any toolset (PIGUI or otherwise)
  111. filter down to your production code.  Fewer people know how to code any
  112. specific PIGUI than do a platform-specific GUI (e.g., MS-Windows), so
  113. wizardly help will be limited.  The PIGUI only deals with the GUI
  114. aspects of your program -- you're on your own for other portability
  115. issues.  Finally, if the vendor goes out of business you may be
  116. out-of-luck for support of future OS enhancements (source code can
  117. ease, but not eliminate, the pain of a vendor closing its doors).
  118.  
  119. IIc. A word about language choice.
  120.  
  121. Many C programmers will look at the purchase of a PIGUI library as a
  122. great opportunity to migrate to C++.  If the library takes full
  123. advantage of C++, the programmer will have to use C++ methodologies
  124. (not just a C++ compiler with C syntax) to use it.  When one ports a C
  125. program to such a library, one should expect to invest a *significant*
  126. amount of effort learning about (and modifying his code to take
  127. advantage of) classes, inheritance, and constructors in order to
  128. complete the port.  Of course, if one wants his C code to become C++
  129. code, this is a necessary exercise anyway.
  130.  
  131. IId. What else is in this Document?
  132.  
  133. After the introductory stuff, you'll find some more detailed
  134. information about PIGUIs in general followed by tables and prose that
  135. describe specific PIGUI toolkits.
  136.  
  137. The limits placed on which products are discussed in this posting are
  138. pretty-much provided in the title.  The products listed here must be
  139. platform-independent and support at least two different OSs.  The
  140. product must be shipping to the general public (i.e., no beta-only or
  141. pre-beta PIGUIs).  Moreover, these packages focus on GUI portability,
  142. though some provide a larger breadth of portability features (and, I've
  143. tried to list those, where applicable).  No limits (at either the high
  144. or the low end) have been placed on price, even though the prices in
  145. the field vary by more than an order of magnitude (and, now, there are
  146. some free PIGUI kits).
  147.  
  148. Note that in addition to one of the products listed here, you'll need
  149. (natch) one of the supported host machines, a compiler or interpreter
  150. of the appropriate type, and, for layered GUI packages (q.v.), the
  151. basic GUI builder for that platform.
  152.  
  153.  
  154. IIe. More Legal Barf.
  155.  
  156. At this point, I find it necessary (even though this is covered by my
  157. .sig) to say that this FAQ is my personal work and that this FAQ does
  158. *IN NO WAY* indicate, reveal, imply, infer, allude to, display,
  159. suggest, symbolize, expose, demonstrate, hint at, or in any way have
  160. anything to do with the thoughts, policies, suggestions, reflections,
  161. decisions, theories, sentiments, ponderings, rules, dreams, or beliefs
  162. of my employer.
  163.  
  164. I use a lot of names that are trademarks in this FAQ.  At no time
  165. should the use of a trademarked name be construed as contesting the
  166. trademark.  Those trademarks belong to their respective trademark
  167. holders.
  168.  
  169. If lots of stuff in this posting looks familiar to you, you're not
  170. hallucinating (well, maybe you are, but not regarding this).  Much of
  171. the format (and some of the words) of this FAQ have been lifted (with
  172. permission -- thanks Eric) from Eric Raymond's PC-UNIX FAQ.
  173.  
  174.  
  175. IIf. Glossary.
  176.  
  177. Here are some words that you'll find in this FAQ along with working
  178. definitions for them.
  179.  
  180. API        Applications Programming Interface.  This is what the 
  181.            programmer sees when he's using a software development kit.  
  182.            Normally, this would be a set of function calls and/or 
  183.            objects.
  184.  
  185. CDE        The GUI part of COSE (q.v.) is CDE, the Common Desktop 
  186.            Environment.
  187.  
  188. COSE       Common Open Software Environment.  This is the industry-agreed-
  189.            upon look-and-feel that will replace Motif and OpenLook.  
  190.            It's basically Motif with some add-ons.  
  191.  
  192. CUI        Character User Interface.  This is like a graphical user 
  193.            interface, but it's implemented only with characters (e.g., 
  194.            ASCII).  Many Platform-Independent CUIs are developed using 
  195.            the public-domain curses package.
  196.  
  197. DDE        Dynamic Data Exchange.  This is a method of inter-process 
  198.            communication under Microsoft Windows.
  199.  
  200. DDEML      Microsoft Windows' Dynamic Data Exchange Management Library.
  201.  
  202. DLL        Dynamically Linked Libraries.  These are, essentially, 
  203.            shared libraries under Microsoft Windows.
  204.  
  205. FAQ        Frequently Asked Questions.  A list. . .like THIS one!
  206.  
  207. font       A specific set of shapes for a character set.  Old English 
  208.            is one example of a font (it's more complicated than that, 
  209.            but I'm not going into it here).
  210.  
  211. GDI        Microsoft Windows' Graphical Drawing Interface.
  212.  
  213. GUI        Graphical User Interface.  If you don't know what this is
  214.            already, you have quite a bit of homework before this FAQ 
  215.            will mean anything to you.
  216.  
  217. IPC        Inter-process Communication.  It's a generic term for the 
  218.            way separate processes (or tasks) under an operating system
  219.            talk to each other.
  220.  
  221. MDI        Microsoft Windows' Multiple Document Interface.  An MDI parent 
  222.            window is intended to be the main window of an application
  223.            and MDI child windows represent separate documents or
  224.            sessions (or whatever) under that application.
  225.  
  226. Motif      This is one of the choices of look-and-feel under the X
  227.            Window system.  In order to have one's software certified as
  228.            Motif compliant, one must pay a fee to the Open Software
  229.            Foundation (OSF).
  230.  
  231. OpenLook   This is one of the choices of look-and-feel under the X
  232.            Window system.  It was originally championed by Sun
  233.            Microsystems before they agreed to support COSE (q.v.).
  234.  
  235. PCL        Hewlett Packard's Printer Control Language.  It's a language
  236.            for getting HP printers to display what you want.
  237.  
  238. PIGUI      Platform-Independent Graphical User Interface.  Actually, it
  239.            refers to a platform-independent API (q.v.).
  240.  
  241. PM         OS/2's Presentation Manager.  This is the GUI under OS/2.
  242.  
  243. PostScript This is a printer language owned by Adobe Systems.  It's
  244.            an interpreted language that is used by a wide variety of
  245.            printers.
  246.  
  247. SDK        Software Development Kit.  It's software to help a 
  248.            programmer build other software.
  249.  
  250. Unicode    This is an international (16-bits per character) character
  251.            set in which all the characters from the various supported
  252.            international languages co-exist at once.  Among the
  253.            supported character sets is the English alphabet (is there
  254.        a more proper term?), Hebrew, and kanji.
  255.  
  256. WYSIWYG    What You See Is What You Get (pronounced Wizzy-Wig).  It's a
  257.            way of allowing the user of a package to see the package's 
  258.            output (in its ultimate format) while the user is developing
  259.            using that package.  Most WYSIWYG software is really 
  260.            WYSISWYG (pronounced Wizzy-Swig) -- What you see is sort-of
  261.            what you get.
  262.  
  263. Xlib       This is the library of X-Windows functions distributed by
  264.            MIT with the X Window system (hence, it's free -- just like
  265.            X Windows).  One can generate software that is compliant to
  266.            the OpenLook or Motif look-and-feel (or any other, for that
  267.            matter) using Xlib.
  268.  
  269. YMMV       Your Mileage May Vary.
  270.  
  271.  
  272. III. ABOUT THE IEEE PIGUI STANDARD
  273.  
  274. Okay, so they don't call it a PIGUI.  Scott Preece
  275. (preece@predator.urbana.mcd.mot.COM) is maintaining a FAQ (and posting
  276. it to comp.windows.x) regarding IEEE P1201.1, a draft standard for
  277. multi-GUI APIs.  A synopsis of all this (some of which is stolen
  278. verbatim from Scott's FAQ) is below.  If you want to know more about
  279. it, check-out the FAQ or contact Scott.  The following was extracted
  280. from various pieces of that FAQ.
  281.  
  282. "IEEE working group P1201.1 is writing a standard for a multi-GUI API,
  283. an API that would be implementable on top of a wide range of GUI
  284. bases.  The API must be independent of the look and feel of the
  285. delivered interface, yet must support a wide range of interface
  286. functionality.
  287.  
  288. "The group has focused its work on developing a programming language
  289. independent model of GUI programming, on which language specific
  290. bindings will be based.  The model abstracts core elements of the
  291. computational model of several existing multi-GUI toolkits [...]
  292. expressed in an object-based computational model.  [...the objects
  293. defined in the standard] do not correspond to the specific programming
  294. elements of any one GUI, but can be mapped onto the programming
  295. elements of any of the target GUIs.  [...] several participants also
  296. agreed to sketch language bindings for several different languages,
  297. including C, C++, and Ada.
  298.  
  299. "If resources continue to be available, we hope to be able to do a mock
  300. ballot this Summer and a formal ballot early in 1995.  [...] The
  301. current public draft of P1201.1 is Draft 7, dated March 1993."
  302.  
  303.  
  304. IV. USER-INTERFACE APPROACHES
  305.  
  306. Most, if not all, of the products in this FAQ take one of three
  307. approaches to providing platform independence.  The two most common
  308. approaches are the "layered" and the "emulated" user interface but
  309. an up-and-coming approach is "API emulated" interface.  
  310.  
  311. Products using a layered interface access native, third party,
  312. GUI-building toolkits to provide the look-and-feel compliance for each
  313. particular GUI.  Layered user interfaces have the advantage that, since
  314. they depend on other products which concentrate on a single GUI, they
  315. have to provide less software (and, hence, are usually less expensive)
  316. than emulated interfaces.  Layered interfaces are also more likely to
  317. get the native look-and-feel correct on all platforms.  Most of the
  318. PIGUI products in this FAQ fit in this category.
  319.  
  320. In an emulated user interface, the PIGUI's resultant code produces
  321. low-level calls and all the look-and-feel compliance is handled by the
  322. PIGUI software itself (e.g., for OpenWindows support, the software
  323. would *NOT* produce an XView program that must be compiled with the
  324. XView toolkit; the software would produce code that interfaces directly
  325. with X intrinsics).  To provide an emulated user interface, a vendor
  326. has to develop a lot of extra code for look-and-feel support.  Emulated
  327. user interfaces have the advantage that someone on a Motif workstation,
  328. for example, can see how the Macintosh-style UI will look (since the
  329. look-and-feel is part of the product).  Emulated interfaces have the
  330. opportunity to provide a faster GUI than does a layered interface; in
  331. addition, it does not require you to purchase (or learn how to use)
  332. other kits to build GUI software.
  333.  
  334. A third approach to platform independence is emulating one of the
  335. supported target's APIs (usually, the Microsoft Windows API) to target
  336. other GUIs.  With one of these products, one would program using the
  337. emulated API and the code would be (to the extent to which that the
  338. product provides portability) portable to other GUIs.
  339.  
  340.  
  341. V. FEATURES AND SUPPORTED PLATFORMS
  342.  
  343. The products in this FAQ are pretty similar in their basic
  344. functionality; they each provide function calls or classes that allow
  345. the user to build windows, buttons (regular as well as radio buttons
  346. and check boxes), menus, menu bars, and the like.  Areas of contention
  347. seem to be things such as:
  348.  
  349.     - availability and price of source code, 
  350.     - printer support,
  351.     - support for international character sets, 
  352.     - capability to support draw-package-like features, 
  353.     - bitmap (and icon) support, 
  354.     - whether the product has a WYSIWYG GUI builder (most do), 
  355.     implementation language, and 
  356.     - the approach to platform independence (see below).
  357.  
  358. Of course, each user will have his own requirements; YMMV.
  359.  
  360. Now, on to the comparisons.  To interpret the tables below, bear in
  361. mind the following things:
  362.  
  363.     - If information for a cell is unknown, a period ('.') is
  364.       placed there.  It is the ultimate goal of the author to
  365.       eliminate all of these.
  366.  
  367.     - If a PIGUI package does not support a feature or platform
  368.       in the table, the cell is marked with a hyphen ('-').
  369.  
  370.     - If a feature or platform is not currently supported, but 
  371.       that support is planned, the cell is marked with ('soon').
  372.       Support in the form of beta versions (as well as longer-
  373.       lead versions) fit in this category.
  374.  
  375.     - If a price is known for a product, that price is inserted
  376.       in the appropriate cell of the table.  If that price is
  377.       not known (but the feature is supported), the cell is
  378.       marked with 'yes' -- it is hoped that all 'yes' entries
  379.       will be replaced with prices "Real Soon Now".  
  380.  
  381.       Note that prices in this FAQ are the MSRP (Manufacturer's
  382.       Suggested Retail Price).  The street price for some of these
  383.       products can be *significantly* less.
  384.  
  385.     - Tables are annotated, where appropriate, with letters (in
  386.       parenthesis where it doesn't take-up too much room).  The
  387.       appropriate notes are found below the table.  Also note that as
  388.       information changes, some of the notes will disappear.  The note
  389.       letters will not necessarily be in sequence -- get used to it.
  390.  
  391. Another note: given that Sun Microsystems has announced its abandonment
  392. of OpenLook in favor of COSE, I'm not sure I'd hold my breath for the
  393. OpenLook betas in the tables below.  It may just not be worth it for
  394. some of the vendors to support a product that has limited (at best)
  395. application.
  396.  
  397. The following abbreviations are used throughout this document when
  398. there wasn't room for the complete name.
  399.  
  400.     App     AppWare, Novell
  401.     Aspect  Aspect, Open Inc.
  402.     Views   C++/Views, Liant
  403.     CLIM    Common Lisp Interface Manager, several vendors
  404.     CommonV Glockenspiel CommonView, Computer Associates
  405.     Galaxy  Galaxy, Visix
  406.     Guild   Guild, Guild
  407.     JAM     JAM, JYACC.
  408.     libWxm  libWxm, Visual Solutions
  409.     MAINWin MAINWin/Cross-Development Kit, MAINSoft Corporation
  410.     Menuet  Menuet/CPP, Autumn Hill Software, Inc.
  411.     MEWEL   MEWEL UIL, Magma Systems
  412.     ObViews ObjectViews C++, Quest Windows Corporation
  413.     OI      Open Interface, Neuron Data 
  414.     Opus    Opus, WNDX
  415.     OpenUI  OpenUI, Open Software Associates
  416.     PSM     Presentation Services Manager, Lancorp Pty Ltd.
  417.     StarVie StarView, StarDivision
  418.     SUIT    Simple User Interface Toolkit, University of Virginia
  419.     VisWork VisualWorks, ParcPlace
  420.     Wind/U  Wind/U, Bristol Technology
  421.     wxWind  wxWindows, Artificial Intelligence Applications Institute
  422.     XVT     XVT Portability Toolkit, XVT Software Inc.
  423.     zApp    zApp, Inmark
  424.     Zinc    Zinc, Zinc
  425.  
  426.  
  427.                  Table 1: PLATFORM VS. PRICE (US$ except where noted)
  428.  
  429.                                                Open-             Next-
  430. Vendor  ASCII DOS  Win(s) Win/NT  OS/2   Motif Look  Mac   PenOS Step
  431. ------- -----------------------------------------------------------------------
  432. App(d)  .     soon yes    soon    soon   yes   -     yes   -     .
  433. Aspect  yes   yes  1495   .       .      2495  yes   1495  .     .
  434. Views   -     soon 749    soon    995    1999  -     yes   .     .
  435. CLIM    .     .    .      .       .      yes   yes   soon  .     .
  436.  
  437. CommonV .     .    yes    .       yes    yes   soon  soon  .     .
  438. Galaxy  -     -    7800   soon    9600   (m)   (m)   9600  -     .
  439. Guild   -     -    895    895     895    soon  -     895   -     .
  440. JAM     yes   yes  yes    .       .      yes   yes   .     .     .
  441.  
  442. libWxm  -     -    (h)    (h)     (v)    yes   -     (v)   -     .
  443. MAINWin -     -    (h)    (h)     (v)    5000  -     (v)   -     .
  444. Menuet  -     499  599    -       599    999   -     .     yes   .
  445. MEWEL   1595  395u (h)    (h)     795    -     -     (v)   -     .
  446.  
  447. ObViews -     -    yes    yes     .      yes   -     yes   -     .
  448. OI      yes   yes  5800   6850    6850   9850  9850  4800  .     .
  449. Opus    .     695  695    .       soon   695   695   695   .     .
  450. OpenUI  yes   -    3500   soon    4900   7900g -     3500  (w)   .
  451.  
  452. PSM     .     .    yes    .       .      yes   .     soon  .     .
  453. StarVie -     -    499    soon    495    soon  soon  soon  .     .
  454. SUIT    .     (k)  (k)    .       .      (k)   (k)   (k)   .     .
  455.  
  456. VisWork .     .    2995   .       2995   4995  4995  2995  .     .
  457. Wind/U  -     -    (h)    (h)     (v)    yes   -     (v)   -     .
  458. wxWind  soon  -    free   soon    -      free  free  -     -     .
  459.  
  460. XVT(c)  4400a 1450 1450   4400ab  1450   4400a 4400  1450  .     .
  461. zApp    -     495  495    495     695    soon  -     soon  -     .
  462. Zinc(e) 1499e 299e 299(f) 299(f)  299e   1499  -     299ej 299   .
  463. ------- -----------------------------------------------------------------------
  464. Vendor  ASCII DOS  Win(s) Win/NT  OS/2   Motif Open- Mac   PenOS Next-
  465.                                                Look              Step
  466.  
  467. (a) This is the price for platforms other than x86-based computers.
  468.     For x86-based machines (under DOS/UNIX/Xenix -- where applicable), the
  469.     price is $1450.
  470. (b) For non-x86 platforms, check for availability -- Alpha and MIPS
  471.     supported.
  472. (c) C++ is $200 extra.  Interactive design tool is $1200 extra ($2900
  473.     for non x86-based X-windows).
  474. (d) Novell're currently determining pricing information -- they use the
  475.     term 'negotiated'.
  476. (e) Zinc requires a single-time purchase of the Zinc GUI engine.  This is 
  477.     $499.  After this price, the individual GUIs to be supported are 
  478.     added-on.
  479. (f) Win16, Win32s, and Win32 are packaged together.
  480. (g) for a PC-based Unix, we're talking $5850.
  481. (h) This product uses the MS Windows API; so, in that sense, it supports
  482.     MS Windows.
  483. (j) Pre-release.
  484. (k) SUIT is free if you are a University or non-profit organization.  If
  485.     you make a profit, you have to pay around $25,000 for a site license.
  486. (m) The price is per machine.  For $9600, you get Motif, OpenLook, CUA,
  487.     and Microsoft Windows on a single machine.
  488. (s) That's Microsoft Windows (TM).
  489. (u) Price does not include source code (the other MEWEL products do).
  490. (v) Microsoft Wings (scheduled to ship in the first half of 1994) can be 
  491.     used to port Windows API to Macintosh System 7.  Micrografx's Mirrors
  492.     can be used to port Windows source to OS/2.
  493. (w) Does work on PenOS systems, but does not *yet* have Pen extensions.
  494. (x) That's OpenLook.
  495. (y) That's NextStep.
  496.  
  497. What we're looking at is two groups of products.  The lower-priced
  498. group is usually C++, is a more recent introduction to the market, is
  499. almost always a layered GUI, and concentrates on PC-based operating
  500. systems.  Products from the higher-priced group usually offer a more
  501. stable platform with both greater breadth and depth than does the
  502. previous group.  In either case, the cost premium for UNIX support is
  503. usually a factor of 3 -- that is, the GUI package for a UNIX platform
  504. for any PIGUI product is usually 3 times as expensive as the version
  505. for DOS/MS-Windows.  Other "personal" operating systems (e.g. OS/2 and
  506. the Mac) vary as to whether they follow the UNIX pricing or the PC
  507. pricing.  These are merely observations, your mileage may vary.
  508.  
  509.  
  510.                  Table 2: FEATURES AND OTHER NIFTIES
  511.  
  512. Vendor  Type(p) Eval(a) Source Royalty Language Builder(g)
  513. ------- -----------------------------------------------------------------------
  514. AppWare .       .       .      no      .        (m)
  515. Aspect  .       30      (e)    no      C        yes
  516. Views   layered (c)     free   no      C++      yes
  517. CLIM    .       (u)     .      .       Cmn Lisp (u)
  518.  
  519. CommonV layered .       yes    no      C++      .
  520. Galaxy  emulate (d)     (e)    no      C/C++    yes
  521. Guild   .       .       (f)    no      C        yes
  522. JAM     layered .       yes    no      C        yes
  523.  
  524. libWxm  API emu .       .      .       .        .       
  525. MAINWin API emu 30      no     (w)     C/C++    (t)
  526. .       .      .       .        .  
  527. MEWEL   API emu .       (r)    no      C(s)     (t)
  528.  
  529. ObViews layered .       .      no      C++      .
  530. OI      emulate (x)     .      no      C/C++    yes
  531. Opus    emulate .       .      no      .        .
  532. OpenUI  layered (q)     (e,b)  no      C(h)     yes
  533.  
  534. PSM     .       .       .      yes     .        no
  535. StarVie layered 30      yes    no      C++      yes
  536. SUIT    .       free    free   .       C        .  
  537.  
  538. VisWork emulate (c)     100000 yes     SmalTalk yes
  539. Wind/U  API emu (v)     (f)    no      C/C++    (t)
  540. wxWind  .       -       free   no      C++      (n)
  541.  
  542. XVT     layered .       yes    no      C(j)     $1200(k)
  543. zApp    layered 60      free   no      C++      $499
  544. Zinc    layered 60      free   no      C++      yes
  545. ------- -----------------------------------------------------------------------
  546. Vendor  Type(p) Eval(a) Source Royalty Language Builder(g)
  547.  
  548. (a) This is the number of days that the product can be evaluated.  Inside 
  549.     this time, the software can be returned for full money back.
  550. (b) Open Software Associates is willing to make a deal for source on a
  551.     case-by-case basis.
  552. (c) They offer a 30 day 'test drive' evaluation.  This costs between
  553.     $100 and $50 (applicable toward cost of product).
  554. (d) Give them a P.O.  They'll give it back if you don't like the product.
  555.     Not sure what the pricing is.  They also require a 1 week, $2500 course 
  556.     they require you to take to get an evaluation.
  557. (e) Source code is held in an escrow account.  You can't get to it 
  558.     unless the company goes belly-up.  This helps you protect your 
  559.     investment -- if the company goes belly-up, you can do the software 
  560.     maintenance yourself.
  561. (f) You can buy it, or you can get an escrow account.
  562. (g) This is a WYSIWYG GUI Builder.
  563. (h) Pascal, Cobol, and ADA are supported, too, but there wasn't room.
  564. (j) $200 for C++ wrappers.
  565. (k) $2900 for non-PC.
  566. (m) They've reconfigured AppMaker (for the Mac) and AppStudio (MS 
  567.     Windows) to be GUI builders.
  568. (n) Uses SunOS's DevGuide.
  569. (p) Type means 'emulated', 'layered', or 'API emulated'.  This describes
  570.     how the product approaches support for various GUIs.
  571. (q) They charge (about $500) for a 90 day (money applicable to purchase)
  572.     evaluation period.  Included is a 1-day training course and
  573.     phone and fax support.
  574. (r) ASCII and OS/2 versions come with source for free.  The DOS version
  575.     is an additional $400 with source.
  576. (s) You can program in the MS Windows API or use MFC, OWL, or C++/Views.
  577. (t) Any MS Windows Application Builder will work.
  578. (u) Different LISP vendors support CLIM -- each provides a different
  579.     set of options and pricing structures.
  580. (v) A 30 day evaluation costs $250.
  581. (w) MAINWin kind-of charges royalties. Every machine on which an 
  582.     application developed with MAINWin is to be run needs the a license
  583.     for the shared libraries.  The cost runs between $195 (quantity 1)
  584.     and $156 (quantity 100) per machine.
  585. (x) These guys have a 'flexible evaluation structure'.
  586.  
  587.  
  588. The following table makes the most sense for operating systems that
  589. work on various types of hardware (e.g., UNIX, Windows NT) rather than
  590. for OSs dedicated to a certain type of hardware (e.g., DOS, Microsoft
  591. Windows, Macintosh).
  592.  
  593. A  `y' indicates that support has been verified by a user report.  
  594. A  `c' indicates that the hardware/OS is claimed to work in vendor
  595.        literature.  
  596. An `e' indicates that this is the API emulated by the software.
  597. A  `b' indicates that the hardware/OS is in beta.
  598. A  `p' indicates that the hardware/OS is planned, but not yet in 
  599.        beta.
  600. A  `.' indicates that whether this combination works is unknown.  
  601. A  `-' indicates that the vendor doesn't support that hardware.
  602. A  `*' points you at footnote info.
  603.  
  604.  
  605.                  Table 3: HARDWARE VENDORs SUPPORTED
  606.  
  607. A       C           M     O     S   V
  608. p A     o G     L M A   O p O   t   i   W w
  609. p s V   m a G   i e I M b e p   a   s   i x
  610. W p i C m l u   b n N E V n e   r S W W n W   z Z
  611. a e e L o e i J w u W W i I n P V U o N d i X A i
  612. r c w I n x l A x e i E e n U S i I r D / n V p n
  613. e t s M V y d M m t n L w t I M e T k X U d T p c  Systems
  614. -------------------------------------------------------------------------------
  615. p c - . . - . . . . - c - . - . - c . . . - . c y  DOS Graphics
  616. - c p . . - . . . . - c - . - . - . . c . - . c c  DOS Text
  617. . . . . . . . . . . . . . . - . . . . . . . . y c  16-bit DOS Extender
  618. . . . . . . . . . c . c . . - . . . . . . . . - c  32-bit DOS Extender
  619.  
  620. - c - . . - . . . . - c - . y . - . . . . p y . c  ASCII Text
  621. c c y . c y c . e c e e c c y c c c c c e c c c y  MS-Windows 3.x 16-bit
  622. c c b . b c c . . . - - c c y b c c c c . - c b b  Macintosh
  623. . . . . . . . . . . - . . . p . b . . . . . . . p  Macintosh PowerPC
  624. p . c . c c c . . c - c - c y c c . c b . - c c c  OS/2
  625.  
  626. p . p . . y c . . . c p c c b . c . . . . b c c c  80x86 / Windows NT
  627. p . p . . b . . . . c p . c - . c . . . . - c . p  Alpha / Windows NT
  628. p . - . . b . . . . c p . . - . p . . . . - c . .  MIPS  / Windows NT
  629.  
  630. - c - . b y . . . . - - . c - . c c c c . c c . -  SunOS / OpenLook
  631. c c c . . y b . c . c - . . c . c c . . y c c y c  SunOS / Motif
  632.  
  633. c . - . . y . . . . p - . c c . p . c . . c . . .  ULTRIX         / Motif
  634. p c - . . . . . . . p - . . c . - . . . . c y . .  ISC            / Motif 
  635. p c c . . . . . . . p - . c c c p . . . . c c y c  SCO Unix/Xenix / Motif 
  636. p c - . . c . . c . p - . c - . p . . . p c c . .  MIPS           / Motif 
  637. c c c . . y . . c . c - . c c . p c c . y c c y c  HP 9000        / Motif
  638. p c p . . y . . c . c - . c c . c c c . y c c y c  IBM RS-6000    / Motif
  639. p c p . . y . . . . p - . c c . p . . . p . c . p  Vax VMS
  640. p c - . . c . . c . c - . c - . p c . . y y c c c  Silicon Graphics
  641. - . - . . . . . . . - - . . - c - . . . . . . . .  Pyramid
  642.  
  643.  
  644.                  Table 4: SUPPORT FEATURES
  645.         With     800                     FTP     Read           Support
  646. Vendor  sale    number? BBS? Compuserv? server? USENET? Other  contracts
  647. ------- -----------------------------------------------------------------------
  648. AppWare yes     soon    no   yes        yes     yes     (b)    TBD
  649. Aspect  ?       ?       .    .          .       .       .      $200-$800/yr
  650. Views   60d     no      yes  no         no      yes     .      $250-$500/yr
  651. CLIM    (c)     (c)     (c)  (c)        (c)     (c)     (c)    (c)
  652.  
  653. CommonV (a)     ?       .    .          .       .       .      -
  654. Galaxy  none    yes     no   no         yes     yes     (k)    $1,995/yr
  655. Guild   90d     ?       .    .          .       .       .      $100/month
  656. JAM     .       ?       .    .          .       .       .      .         
  657.  
  658. libWxm  .       ?       .    .          .       .       .      .
  659. MAINWin 1 year  yes     .    .          yes     .       .      $1000/yr(e)
  660. Menuet  .       ?       .    .          .       .       .      .
  661. MEWEL   yes     no      yes  yes        yes     yes     .      $250/yr
  662.  
  663. ObViews .       ?       .    .          .       .       .      yes
  664. OI      .       ?       yes  .          .       yes     .      $1200-$2400/yr
  665. Opus    .       ?       .    .          .       .       .      -
  666. OpenUI  90d     no      soon no         soon    yes     (h)    12%-30%/yr
  667.  
  668. PSM     .       ?       .    .          .       .       .      -
  669. StarVie .       yes     yes  yes        no      yes     .      -
  670. SUIT    .       no      .    .          yes     .       (d)    -
  671.  
  672. VisWork (f)     yes     yes  yes        (g)     .       .      $675/yr
  673. Wind/U  .       no      no   no         yes     yes     .      12%-20%/yr
  674. wxWind  .       no      no   no         .       yes     .      -
  675.  
  676. XVT     1 year  ?       yes  yes        yes     .       .      (call)
  677. zApp    forever no      yes  yes        no      yes     .      -
  678. Zinc    forever no      yes  yes        yes     yes     .      $499/yr(j)
  679. ------- -----------------------------------------------------------------------
  680. Vendor  With    800      BBS? Compuserv? FTP     Read    Other  Support
  681.         sale    number?                  server? USENET?        contracts
  682.  
  683. (a) CommonView provides free maintenance for MS-Windows and OS/2.  15% of cost is 
  684.     required for Motif, however.
  685. iling list (appware-info-request@serius.uchicago.edu
  686.     for more info).
  687. (c) CLIM is a multi-vendor product.  See the individual vendor for information.
  688. (d) There is a SUIT mailing list.  Send email to 
  689.     'suit-users-request@uvacs.cs.Virginia.EDU' for mor information.
  690. (e) That's for one person.  The second person is $700, and subsequent users 
  691.     are at $500.
  692. (f) Installation and temporary evaluation help plus one free general support
  693.     question.
  694. (g) Gopher service.
  695. (h) Support (including distribution) by e-mail.
  696. (j) This is for their higher-end support.  Simple support still comes for free.
  697. (k) They support an email mailing list (I've heard it's quite active).
  698. -- 
  699. Wade Guthrie                     | "They couldn't hit an *elephant* at this
  700. wade@nb.rockwell.com             | dis...", last words of Mjr. Gen. (?) 
  701. I don't speak for Rockwell.      | Sedgewick, American Civil War.
  702.